package com.yuanshi.food.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * 响应代码
 *
 * @author wcy
 * @date 2024/11/26
 */
@AllArgsConstructor
@NoArgsConstructor
@Getter
public enum ResponseCodeEnum {
    // 业务异常
    /** 用户存在 */ USER_EXISTS(1000, "用户已存在"),
    /** 用户不存在 */ USER_NOT_EXISTS(1001, "用户不存在"),
    /** 用户名或密码错误 */ USERNAME_OR_PASSWORD_ERROR(1002, "用户名或密码错误"),
    /** 用户邮箱存在 */ USER_EMAIL_EXISTS(1003, "用户邮箱已存在"),
    /** 用户手机号存在 */ USER_PHONE_EXISTS(1004, "用户手机号已存在"),
    // Dify
    /** 知识库列表异常 */ KNOWLEDGE_LIST_ERROR(1051, "知识库列表异常"),
    // HEYGEM
    /** heygem模型训练失败 */ HEY_GEM_MODEL_TRAINING_FAILED(1101, "heygem模型训练失败"),
    /** heygem语音合成失败 */ HEY_GEM_SPEECH_SYNTHESIS_FAILED(1102, "heygem语音合成失败"),
    /** heygem视频合成失败 */ HEY_GEM_VIDEO_SYNTHESIS_FAILED(1103, "heygem视频合成失败"),
    /** heygem查询视频合成进度失败 */ HEY_GEM_QUERY_PROGRESS_FAILED(1104, "heygem查询视频合成进度失败"),
    // 系统异常
    /** 成功 */ SUCCESS(0, "成功"),
    /** 未知错误 */ UN_ERROR(1, "未知失败"),
    /** 非法参数 */ ILLEGAL_PARAMETER(2, "非法参数"),
    /** 空参数 */ PARAMETER_IS_NULL(3, "%s参数为空"),
    /** 执行失败 */ EXECUTION_FAILED(4, "执行失败"),
    /** 文件预览 */ FILE_PREVIEW(9900, "文件预览失败"),
    /** 文件上传 */ FILE_UPLOAD(9901, "文件上传失败"),
    /** 请求错误 */ REQUEST_ERROR(9902, "请求错误"),
    /** 没有权限 */ NO_PERMISSION(9903, "没有权限"),
    /** 文件为空 */ FILE_EMPTY(9904, "文件不能为空"),
    /** 数据不存在 */ DATA_NOT_FOUND(9905, "数据不存在"),

    /** 调用外部接口 */ INVOKE_EXTERNAL_API(9996, "调用外部接口异常!"),
    /** 标识设置 */ GLOBAL_ID_SET(9997, "全局唯一标识设置异常!"),
    /** 鉴权异常 */ SYSTEM_AUTHENTICATION(9998, "sa-token-鉴权异常!"),
    /** 系统异常 */ SYSTEM_EXCEPTION(9999, "系统异常,请联系管理员!");


    private Integer code;
    private String info;

}
